package poker;
import java.util.Scanner;
/**
 * Klasa modelujaca gracza czlowieka.
 */
public class Czlowiek extends Gracz {
    /**
     * Stala przechowujaca maksymalna ilosc kart jednego gracza.
     */
    private static final int ILOSC_KART = 5;
    /**
	 * Kontruktor tworzacy czlowieka.
	 * @param imie imie gracza
	 * @param zetony poczatkowa ilosc zetonow gracza.
	 */
	public Czlowiek(final String imie, final int zetony) {
	    super(imie, zetony);
	}
	/**
	 * Metoda pozwalajaca na wymiane kart.
	 * 
	 * @param talia talia kart.
	 * @return odrzucone karty.
	 */
	public final Karta[] wymienKarty(final Talia talia) {
	    Scanner sc = new Scanner(System.in);
	    Karta[] doZwrotu = null;
	    System.out.println(this 
	            + "\npodaj ile kart wymienic (0, 1, 2, 3, 4 lub 5)");
	    int ile = sc.nextInt();
	    if (ile < 0 || ile > ILOSC_KART) {
	        System.out.println("niepoprawna ilosc");
	    } else {
    	    if (ile > 0) {
        	    System.out.println(this 
        	            + "\npodaj numery kart do wymiany (np. 0 1 2 3 4)");
        	        
        	    boolean[] czyWymienione = new boolean[ILOSC_KART];
        	    
        	    doZwrotu = new Karta[ile];
        	    
        	    for (int i = 0; i < ile; i++) {
        	        int n = sc.nextInt();
        	        if (n >= 0 && n < ILOSC_KART && !czyWymienione[n]) {
        	            czyWymienione[n] = true;
        	            doZwrotu[i] = karty[n];
        	            karty[n] = talia.wezKarte();
        	        } else {
        	            System.out.println("niepoprawny indeks");
        	            return null;
        	        }
        	    }
        	}
	    }
	    return doZwrotu;
	}
}